import 'dart:io';
main() async{
  print('程序开始，准备请求数据');
  print('不能阻塞的代码');
  try {
    // 这里可以添加可能抛出异常的代码
    //等待第一个函数执行完成
    int res = await requestData();
    print('第一个函数执行完成$res');
    //等待第二个函数执行完成
    int res2 = await getSecondData();
    print('第二个函数执行完成$res2');
    //等待第三个函数执行完成
    int res3 = await getThirdData();
    print('第三个函数执行完成$res3');

  } catch (e) {
    print('捕获到异常: $e');
  } finally {
    print('finally代码块');
  }
    
  }


//第一个获取数据的函数
Future<int> requestData() {
  return Future((){
    sleep(Duration(seconds: 2));
    return 11;
  });
}
//第二个获取数据的函数
Future<int> getSecondData() {
  return Future((){
    sleep(Duration(seconds: 2));
    return 22;
  });
}
//第三个获取数据的函数
Future<int> getThirdData() {
  return Future((){
    sleep(Duration(seconds: 2));
    return 33;
  });
}



